package com.ld.hpfs.service;

import java.util.ArrayList;
import java.util.HashMap;

public interface RuleService {

	/*
	 * 增加规则
	 */
	public int RuleSet(HashMap<String, Object> param);

	/*
	 * 规则一览的查询
	 */
	public ArrayList<HashMap<String, Object>> getRuleList(
			HashMap<String, Object> param);

	/*
	 * 规则一览的删除
	 */
	public String deleteRuleList(HashMap<String, Object> param);

	/*
	 * 查询已选择规则
	 */
	public ArrayList<HashMap<String, Object>> getCheckedRule(
			HashMap<String, Object> param);

	/*
	 * 获取客户信息
	 */
	public ArrayList<HashMap<String, Object>> getCustInfo(
			HashMap<String, Object> param);
	/*
	 * 获取创建者信息
	 */
	public ArrayList<HashMap<String, Object>> getCreator(
			HashMap<String, Object> param);

	/*
	 * 获取共通条件
	 */
	public ArrayList<HashMap<String, Object>> getCommonConditions(
			HashMap<String, Object> param);

	/*
	 * 获取规则条件
	 */
	public ArrayList<HashMap<String, Object>> getRuleConditions(
			HashMap<String, Object> param);

	/*
	 * 获取自定义摘要信息
	 */
	public ArrayList<HashMap<String, Object>> getAbstractInfo(
			HashMap<String, Object> param);

	/*
	 * 判断规则是否存在
	 */
	public ArrayList<HashMap<String, Object>> checkRuleIsRepeat1(
			HashMap<String, Object> param);

	/*
	 * 判断规则是否存在
	 */
	public ArrayList<HashMap<String, Object>> checkRuleIsRepeat2(
			HashMap<String, Object> param2);

	/*
	 * 接收第三个框的值，适用于退货，折扣，发票分组等
	 */
	public ArrayList<HashMap<String, Object>> getAdjustAfterRule(
			HashMap<String, Object> param);

	/*
	 * 清空原有sort
	 */
	public void clearSort(HashMap<String, Object> param);

	/*
	 * 获得折扣信息
	 */
	public HashMap<String, Object> getDiscoun(HashMap<String, Object> param);

	/*
	 * 更改SORT
	 */
	public int updateSort(HashMap<String, Object> param);

	/*
	 * 获取替换规则
	 */
	public ArrayList<HashMap<String, Object>> getReplaceRule(
			HashMap<String, Object> param);

	public ArrayList<HashMap<String, Object>> getReplaceUnit(
			HashMap<String, Object> param);

	/*
	 * 返利查询
	 */
	public HashMap<String, Object> getRebate(HashMap<String, Object> param);

	/*
	 * 获取拆分方式的值
	 */
	public HashMap<String, Object> getSplitWay(HashMap<String, Object> param);

	/*
	 * 添加规则履历
	 */
	public boolean addRuleHistory(HashMap<String, Object> history_param);

	/*
	 * 规则主表信息导入
	 */
	public HashMap<String, Object> importRuleMain(HashMap<String, Object> param);

	/*
	 * 规则条件表条件信息导入
	 */
	public int importRuleCondition(HashMap<String, Object> param2);

	/*
	 * 自定义备注摘要信息导入
	 */
	public int importAbstractRemark(HashMap<String, Object> param3);
	
	/*
	 * 单据状态导入
	 */
	public int importRuleDocStatus(HashMap<String, Object> param3);
	
	/*
	 * 替换商品名、客户名、规格信息导入
	 */
	public int importReplaceGoodsCustType(HashMap<String, Object> param3);

	/*
	 * 替换单位信息导入
	 */
	public int importReplaceUnit(HashMap<String, Object> param3);

	/*
	 * 特殊规则共通信息导入
	 */
	public int importSpecialRule(HashMap<String, Object> param3);

	/*
	 * 折扣信息导入
	 */
	public int importRuleDiscount(HashMap<String, Object> param3);

	/*
	 * 返利信息导入
	 */
	public int importRuleRebate(HashMap<String, Object> param3);

	/*
	 * 拆分信息导入
	 */
	public int importRuleSplit(HashMap<String, Object> param3);

	/*
	 * 客户存在性Check获取数据
	 */
	public HashMap<String, Object> getCustomerName(HashMap<String, Object> param);

	/*
	 * check客户代码是否存在
	 */
	public int checkCustCode(HashMap<String, Object> param);

	/*
	 * 导出ruleMain
	 */
	public ArrayList<HashMap<String, Object>> getRuleMainData(
			HashMap<String, Object> param);

	/*
	 * 导出ruleCondition
	 */
	public ArrayList<HashMap<String, Object>> getRuleConditionData(
			HashMap<String, Object> param);

	/*
	 * 导出adjustAfterRule
	 */
	public ArrayList<HashMap<String, Object>> getAdjustAfterRuleData(
			HashMap<String, Object> param);

	/*
	 * 导出discount规则
	 */
	public ArrayList<HashMap<String, Object>> getRuleDiscountData(
			HashMap<String, Object> param);

	/*
	 * 导出rebate规则
	 */
	public ArrayList<HashMap<String, Object>> getRuleRebateData(
			HashMap<String, Object> param);

	/*
	 * 导出split规则
	 */
	public ArrayList<HashMap<String, Object>> getRuleSplitData(
			HashMap<String, Object> param);

	/*
	 * 导出替换商品、客户、规格规则
	 */
	public ArrayList<HashMap<String, Object>> getreplaceOthersData(
			HashMap<String, Object> param);

	/*
	 * 导出替换单位规则
	 */
	public ArrayList<HashMap<String, Object>> getreplaceUnitData(
			HashMap<String, Object> param);

	/*
	 * 导出自定义摘要、备注规则
	 */
	public ArrayList<HashMap<String, Object>> getCustomizeRemarkData(
			HashMap<String, Object> param);
	
	/*
	 *  导出单据状态
	 */
	public ArrayList<HashMap<String, Object>> getDocTypeData(
			HashMap<String, Object> param);

	public ArrayList<HashMap<String, Object>> getRuleSort(
			HashMap<String, Object> param);
	/*
	 * 获得规则导出的规则ID
	 */
	public ArrayList<HashMap<String, Object>> getExportId(
			HashMap<String, Object> listParam);

	/*
	 * 修改页面---获取单据状态的值
	 */
	public HashMap<String, Object> getDocType(HashMap<String, Object> param);
	/*
     * 获取公司代码
     */
	public HashMap<String, Object> getCompanyCode(HashMap<String, Object> param);

	/**
	 * 规则页面新增规则
	 * @param param
	 * @return
	 */
	public int insertRules(HashMap<String, Object> param);
	
	/**
	 * 规则页面修改规则
	 * @param param
	 * @return
	 */
	public int updateRules(HashMap<String, Object> param);

	public int getLockStatus(HashMap<String, Object> param);

	public int getMaxDetailId(String fileName1);

}
